﻿using System;
using System.Collections.Generic;
using System.Text;

namespace Camc.Quality.StoreManagement
{
    public class PartsOutboundOutput
    {
        public Guid? Id { get; set; }
        public string Level { get; set; }
        public Guid LoadDetailsId { get; set; }
        /// <summary>
        /// 物料代码
        /// </summary>
        public string ProductDrawingNo { get; set; }

        /// <summary>
        /// 物料名称
        /// </summary>
        public string ProductName { get; set; }

        /// <summary>
        /// 规格
        /// </summary>
        public string Module { get; set; }

        /// <summary>
        /// 物料类别
        /// </summary>
        public string MaterialTypeName { get; set; }
        /// <summary>
        /// 物料层级
        /// </summary>
        public string MaterialsLevel { get; set; }

        /// <summary>
        /// 单位
        /// </summary>
        public string Unit { get; set; }
        /// <summary>
        /// 工艺用量
        /// </summary>
        public int ProcessDosage { get; set; }
        /// <summary>
        /// 配套数量
        /// </summary>
        public int SuiteStock { get; set; }
        /// <summary>
        /// 待出库数量
        /// </summary>
        public int OutboundQuantity { get; set; }

        /// <summary>
        /// 已出库数量
        /// </summary>
        public int OutboundedNum { get; set; }

        /// <summary>
        /// 待领料数量
        /// </summary>
        public int DeliveredNum { get; set; }

        /// <summary>
        /// 缺料数量
        /// </summary>
        public int ShortageNum { get; set; }
        /// <summary>
        /// 本次出库数量
        /// </summary>
        public int CurrentDelivery { get; set; } = 0;

        /// <summary>
        /// 配套状况
        /// </summary>
        public string AssortState { get; set; }

        public int NodeLevel { get; set; }

    }

    public class OutBoundOutput
    {
        public PartsOutboundOutput data { get; set; }
        public List<OutBoundOutput> children { get; set; } = new List<OutBoundOutput>();
    }
    public class LabelInformation
    {
        /// <summary>
        /// 型号
        /// </summary>
        public string Model { get; set; }

        /// <summary>
        /// 发次
        /// </summary>
        public string LotNo { get; set; }
        /// <summary>
        /// 芯级
        /// </summary>
        public string CoreGrade { get; set; }
        /// <summary>
        /// 部套
        /// </summary>
        public string PartSleeve { get; set; }

        /// <summary>
        /// 规程名称
        /// </summary>
        public string TechniqueName { get; set; }

        /// <summary>
        /// 工艺编号
        /// </summary>
        public string TechniqueNumber { get; set; }

        /// <summary>
        /// 工序名称
        /// </summary>
        public string ProcessesName { get; set; }

        /// <summary>
        /// 工步名称
        /// </summary>
        public string WorkStepName { get; set; }
        /// <summary>
        /// 物料详细
        /// </summary>
        public List<OutBoundOutput> BoundOutputs { get; set; }
        /// <summary>
        /// 复选框已选择的物料详细
        /// </summary>
        public List<OutBoundOutput> CheckOutputs { get; set; }
        /// <summary>
        /// 退库原因
        /// </summary>
        public string CancellingReason { get; set; }

        /// <summary>
        /// 退库人
        /// </summary>
        public string CancellingUser { get; set; }

        /// <summary>
        /// 退库人Id
        /// </summary>
        public long? CancellingUserId { get; set; }

        /// <summary>
        /// 退库人时间
        /// </summary>
        public DateTime? CancellingTime { get; set; }

    }


}
